#include <iostream>
using std::cout;
using std::endl;
//函数重载的要求：
extern "C"{

int add(int a, int b){
    return a + b;
}
#if 0
double add(int a, int b){
    return a + b;
}
#endif
//返回值，形参（个数、类型、顺序）
#if 0
int add(int x, int y){
    return x + y;
}
#endif
double add(double a, double b){
    return a + b;
}

int add(int a, int b, int c){
    return a + b + c;
}
//下面两个也没有产生冲突
int func(int a, double b){
    return a + b;
}
int func(double a, int b){
    return a + b;
}

}
void test(){
    int * pInt = (int *)malloc(sizeof(int));


    free(pInt);
    add(1, 2);
}

int main()
{
    test();
    return 0;
}

